Link adaptation for multimode mimo wireless system

ABSTRACT

A wireless receiver is disclosed that is capable of efficiently selecting a preferred transmission/detection scheme for use in wireless communication. The wireless receiver may be capable of communicating using any one of several transmission/detection schemes. Therefore, in order to select a preferred transmission/detection scheme, the wireless receiver calculates at least one metric for the transmission/detection schemes. In MIMO systems, the link adaptation is more complex and the metrics typically must be more accurate. Because of the potentially substantial amount of calculation that may be required to calculate the metric, the wireless receiver is capable of performing the individual calculations in optimized ways, as well as easily reducing the total number of metrics required to be calculated so as to reduce overall complexity.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application claims the benefit of U.S. Provisional PatentApplication No. 61/562,196, filed Nov. 21, 2011, entitled “FourthGeneration (4G) Communication Systems,” which is incorporated herein byreference in its entirety.

BACKGROUND

1. Field of Invention

The disclosure relates to wireless communications, and more specificallyto a wireless communication device that is capable performing linkadaptation calculations with reduced complexity within a MIMO wirelesssystem.

2. Related Art

Wireless communication devices, such as cellular telephones to providean example, are becoming commonplace in both personal and commercialsettings. The wireless communication devices provide users with accessto all kinds of information, as well as the ability to communicate withother such devices across large distances. For example, a user canaccess the internet through an internet browser on the device, downloadminiature applications (e.g., “apps”) from a digital marketplace, sendand receive emails, or make telephone calls using a voice over internetprotocol (VoIP). Consequently, wireless communication devices provideusers with significant mobility, while allowing them to remain“connected” to communication channels and information.

Wireless communication devices communicate with one or more otherwireless communication devices or wireless access points to send andreceive data. Typically, a first wireless communication device generatesand transmits a radio frequency signal modulated with encodedinformation. This radio frequency signal is transmitted into a wirelessenvironment and is received by a second wireless communication device.The second wireless communication device demodulates and decodes thereceived signal to obtain the information. The second wirelesscommunication device may then respond in a similar manner. The wirelesscommunication devices can communicate with each other or with accesspoints using any well-known modulation scheme, including amplitudemodulation (AM), frequency modulation (FM), quadrature amplitudemodulation (QAM), phase shift keying (PSK), quadrature phase shiftkeying (QPSK), and/or orthogonal frequency-division multiplexing (OFDM),as well as any other communication scheme that is now, or will be,known.

The receiving device may perform a link adaptation calculation in orderto determine an optimal transmission scheme to be used forcommunication. This conventionally includes selecting a metric and, foreach combination of transmission parameters (e.g., for each possibletransmission scheme), calculating the metric. Although this is anacceptable method for simpler systems that do not include significantnumbers of transmission parameters, performing these calculations can beextremely cumbersome for a more complex system (such as, for example, aclosed loop MIMO system capable of supporting layers), and therefore mayrequire an unacceptable amount of processing and/or operating power.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

Embodiments are described with reference to the accompanying drawings.In the drawings, like reference numbers indicate identical orfunctionally similar elements. Additionally, the left most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

FIG. 1 illustrates a block diagram of an exemplary wirelesscommunication environment;

FIG. 2 illustrates a block diagram of an exemplary receiver that isimplemented as part of the wireless communication environment;

FIG. 3 illustrates an exemplary link adaptation module that may beimplemented within the receiver;

FIG. 4 illustrates an exemplary method for selecting a preferredtransmission/detection scheme; and

FIG. 5 illustrates an exemplary computer system that can be used toimplement aspects of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

The following Detailed Description refers to accompanying drawings toillustrate exemplary embodiments consistent with the invention.References in the Detailed Description to “one exemplary embodiment,”“an exemplary embodiment,” “an example exemplary embodiment,” etc.,indicate that the exemplary embodiment described may include aparticular feature, structure, or characteristic, but every exemplaryembodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same exemplary embodiment. Further, when a particularfeature, structure, or characteristic is described in connection with anexemplary embodiment, it is within the knowledge of those skilled in therelevant art(s) to affect such feature, structure, or characteristic inconnection with other exemplary embodiments whether or not explicitlydescribed.

The exemplary embodiments described herein are provided for illustrativepurposes, and are not limiting. Other exemplary embodiments arepossible, and modifications may be made to the exemplary embodimentswithin the spirit and scope of the disclosure. Therefore, the DetailedDescription is not meant to limit the invention. Rather, the scope ofthe invention is defined only in accordance with the following claimsand their equivalents.

Embodiments may be implemented in hardware (e.g., circuits), firmware,software, or any combination thereof. Embodiments may also beimplemented as instructions stored on a machine-readable medium, whichmay be read and executed by one or more processors. A machine-readablemedium may include any mechanism for storing or transmitting informationin a form readable by a machine (e.g., a computing device). For example,a machine-readable medium may include read only memory (ROM); randomaccess memory (RAM); magnetic disk storage media; optical storage media;flash memory devices; electrical, optical, acoustical or other forms ofpropagated signals (e.g., carrier waves, infrared signals, digitalsignals, etc.), and others. Further, firmware, software, routines,instructions may be described herein as performing certain actions.However, it should be appreciated that such descriptions are merely forconvenience and that such actions in fact results from computingdevices, processors, controllers, or other devices executing thefirmware, software, routines, instructions, etc. Further, any of theimplementation variations may be carried out by a general purposecomputer, as described below.

For purposes of this discussion, the term “module” shall be understoodto include at least one of software, firmware, and hardware (such as oneor more circuit, microchip, or device, or any combination thereof), andany combination thereof. In addition, it will be understood that eachmodule may include one, or more than one, component within an actualdevice, and each component that forms a part of the described module mayfunction either cooperatively or independently of any other componentforming a part of the module. Conversely, multiple modules describedherein may represent a single component within an actual device.Further, components within a module may be in a single device ordistributed among multiple devices in a wired or wireless manner.

The following Detailed Description of the exemplary embodiments will sofully reveal the general nature of the invention that others can, byapplying knowledge of those skilled in relevant art(s), readily modifyand/or adapt for various applications such exemplary embodiments,without undue experimentation, without departing from the spirit andscope of the disclosure. Therefore, such adaptations and modificationsare intended to be within the meaning and plurality of equivalents ofthe exemplary embodiments based upon the teaching and guidance presentedherein. It is to be understood that the phraseology or terminologyherein is for the purpose of description and not of limitation, suchthat the terminology or phraseology of the present specification is tobe interpreted by those skilled in relevant art(s) in light of theteachings herein.

Although the following description is to be described in terms ofwireless communication (specifically cellular communication), thoseskilled in the relevant art(s) will recognize that this description mayalso be applicable to other communications that use wired, optical, orother wireless communication methods without departing from the spiritand scope of the present disclosure.

An Exemplary Wireless Communications Environment

FIG. 1 illustrates a block diagram of a wireless communicationenvironment 100 according to an exemplary embodiment of the disclosure.The wireless communication environment 100 provides wirelesscommunication of information, such as one or more commands and/or data,between wireless communication devices. The wireless communicationdevices may each be implemented as a standalone or a discrete device,such as a mobile telephone, or may be incorporated within or coupled toanother electrical device or host device, such as a portable computingdevice, a camera, or a Global Positioning System (GPS) unit or anothercomputing device such as a personal digital assistant, a video gamingdevice, a laptop, a desktop computer, or a tablet, a computer peripheralsuch as a printer or a portable audio and/or video player to providesome examples and/or any other suitable electronic device that will beapparent to those skilled in the relevant art(s) without departing fromthe spirit and scope of the invention.

The exemplary wireless communication environment 100 includes a wirelesstransmitter 110 and a wireless receiver 120. Each of the wirelesstransmitter 110 and the wireless receiver 120 may be included withincorresponding wireless communication devices that are each capable ofboth wireless transmission and wireless reception. The wirelesstransmitter 110 may represent an exemplary embodiment of a base station,and the wireless receiver 120 may represent an exemplary embodiment of auser equipment/subscriber station within a cellular communicationsnetwork.

The wireless transmitter 110 includes a scheduler 115 for preparingoutgoing signals for transmission in accordance with a selectedtransmission scheme, and includes an antenna 111 for transmitting thesignals into the wireless communication environment 100. Those skilledin the relevant art(s) will recognize that the antenna 111 may includean array of N_(t) antennas, where N_(t) is a positive integer, and thatthe antenna 111 may be capable of both transmitting and receivingsignals.

The wireless receiver 120 includes a link adaptation module 125configured to perform the link adaptation calculations in accordancewith one or more of the embodiments discussed in the present disclosure,and includes an antenna 121 for receiving the signals from the wirelesscommunication environment 100. Those skilled in the relevant art(s) willrecognize that the antenna 121 may include an array of N_(r) antennas,where N_(r) is a positive integer, and that the antenna 121 may becapable of both transmitting and receiving signals.

Detailed functionality of the wireless receiver 120 and the linkadaptation module 125 are discussed below, with respect to the relevantfigures.

Exemplary Wireless Communication Device

FIG. 2 illustrates a block diagram of an exemplary wireless receiver 200that may be implemented as part of the wireless communicationenvironment 100. The wireless receiver 200 includes a measurement module220, a memory module 230, and a link adaptation module 240, and mayrepresent an exemplary embodiment of the wireless receiver 120.

The wireless receiver 200 receives signals from the wirelesscommunication environment 100 via its antenna 205 connected to anantenna module 210. Again, the antenna 205 may include N_(r) antennas,where N_(r) is a positive integer. Each of the N_(r) antennas may becapable of individually receiving signals from the wirelesscommunication environment 100. The antenna module 210 forwards thereceived signals to the measurement module 220.

The measurement module 220 takes various measurements of the receivedsignals, which may be needed for performing the link adaptationcalculations. Such measurements may include, for example, channelestimates (e.g. amplitude and phase response) and/or noise powers. Forexample, the measurement module 220 may measure a channel estimate H₁,H₂, . . . H_(M), for each of M channels, where each channel H will havethe size N_(r)×N_(t). The M channels can be distributed over thefrequency domain (e.g., as carriers in an OFDM system) or in the timedomain (e.g., space time codes). Similarly, the measurement module 220may calculate per channel noise plus interference powers (hereinafter“noise power”) σ_(i) ², where i=1, 2, . . . M. The measurement module220 forwards the measurements to the link adaptation module 240 for usein the link adaptation calculation.

The measurement module 220 may also forward one or more measurementsand/or information to the memory module 230 for storage. The memorymodule 230 stores various aspects and/or parameters of the system thatmay be needed by the link adaptation module 240 to perform the linkadaptation calculations. Such parameters may include a set oftransmission schemes Θ available with the current wireless transmitter110, a set of detection schemes Λ available for use by the wirelessreceiver 200, and a constraints set C that dictates various limitationson the wireless receiver 200 and/or on calculations performed by thewireless receiver 200, discussed in further detail below. In anembodiment, these various parameters may be stored in one or morelook-up tables that are accessible by the link adaptation module.

The link adaptation module 240 receives the measurements from themeasurement module 220 and the various parameters from the memory module230. Using this information, the link adaptation module 240 performs thelink adaptation calculations for the wireless receiver 200 in order todetermine a preferred transmission scheme to be employed between thewireless transmitter 110 and the wireless receiver 200.

Once the link adaptation module 240 has determined a preferredtransmission scheme, the link adaptation module 240 informs the antennamodule 210 of the preferred transmission scheme, which forwards a signalto the wireless transmitter 110 via the antenna 205. Upon receiving thepreferred transmission scheme from the wireless receiver 200, thewireless transmitter 110 instructs its scheduler 115 accordingly, whichthen employs the preferred transmission scheme for communicating withthe wireless receiver 200.

Exemplary Link Adaptation Module

FIG. 3 illustrates an exemplary link adaptation module 300 that may beimplemented within the wireless receiver 200. The link adaptation module300 includes a constraint module 310, a metric computation module 320,and a decision module 330, and may represent an exemplary embodiment ofthe link adaptation module 240.

In the link adaptation module 300, the constraint module 310 receivesthe constraint sets C from the memory module 230. From these constraintsets, the constraint module 310 determines the current constraints onthe link adaptation.

1. Exemplary Constraints

As discussed above, there may be several different constraints on whichthe constraint module 310 may restrict the transmission/detectionschemes analyzed by the metric computation module 320.

In one example, the constraint module 310 calculates a constraint C₁(H₁,H₁, . . . H_(M), Θ, Λ), where C₁ denotes the exponent of the complexityof a detector used in the receiver, under the possible channel modelrepresented by the channels H and the transmit/receiver pair Θ/Λ. Theconstraint module 310 may require C₁ to be below a predeterminedthreshold. For example, if the constraint module 310 requires C₁ to beless than 1, then only linear receivers will be permitted.

In another example, the constraint module 310 may restrict channel usesand/or throughput. For example, the constraint module 310 may calculatethe number of channel uses that can be allocated to a user as constraintC₂, and calculate the inverse of the throughput that the user isexpected to achieve as a part of the Quality of Service (QoS) asconstraint C₃. The constraint module 310 can then require each of theseconstraints C₂ and C₃ to be below corresponding thresholds. In thismanner, if the constraint C₂ is too tight, then the module can bias itsselection towards the higher rate transmission schemes (in terms ofspatial-time-frequency rate).

In another example, the constraint module 310 may restrict powerconsumption. For example, the constraint module 310 may calculate powerconsumption and any boundaries on power consumption (e.g., battery life)as constraint C₄, and may calculate the inverse of the minimum QoS asconstraint C₅. The constraint module 310 can then require each of theseconstraints C₄ and C₅ to be below corresponding thresholds. In thismanner, the constraint module 310 will bias possibletransmission/detection schemes towards those which involve less receiverpower consumption.

In another example, the constraint module 310 may take into account thespatial correlation factor. For example, the constraint module 310 maycalculate spatial correlation of the channel and compare the result withpredetermined thresholds to determined possible transmission/detectionschemes. If the spatial correlation is high, the constraint module 310will bias possible transmission/detection schemes towards those thatinclude fewer layers.

Once the constraint module 310 has calculated the constraints, theconstraint module forwards the constraints to the metric computationmodule 320.

2. Exemplary Metric Computation Module

The metric computation module 320 measures at least one metric for eachapplicable transmission and detection scheme. In order to determine theapplicable transmission and detection schemes, the metric computationmodule 320 receives the set of transmission schemes Θ and the set ofdetection schemes Λ from the memory module 230. The metric computationmodule 320 also receives the constraints from the constraint module 310.By applying the constraints to the received set of transmission schemesΘ and set of detection schemes Λ, the metric module is able to determinethe applicable transmission and detection schemes {Θ_(i), Λ_(i)}.

Once the applicable transmission and detection schemes have beendetermined, the metric computation module 320 then calculates at leastone metric for a plurality of these applicable transmission anddetection scheme combinations. The metrics can be selected based ondesired performance characteristics (e.g., signal quality, powerconsumption, etc.) and should provide some value or other means by whichto compare the abilities of the transmission and detection schemecombinations to satisfy the desired performance characteristics.Examples of such metrics include Effective signal-to-noise ratio (SNR),effective exponential SNR mapping (EESM), capacity based SNR metric, andnormalized modulation constrained capacity (NMCC) (also known as“receive bit information rate (RBIR)”). It will be noted that the metriccomputation module 320 need not calculate the same metric for each ofthe transmission/detection scheme combinations. Further, the metric maybe represented as a function of the channel estimates, the noise power,the applicable transmission schemes, and the applicable detectionschemes as ξ(H₁, H₂, . . . H_(M), σ², Θ, Λ).

Once the metrics have been calculated for the plurality of acceptabletransmission and detection schemes, the metric computation module 320forwards the calculated metrics to the decision module 330. The decisionmodule 330 compares the calculated metrics to each other and selects apreferred transmission scheme and/or a preferred detection scheme basedon which of the metrics is preferred. In an embodiment, the preferredmetric may be the metric that best satisfies the desired performancecharacteristic, and/or which may have the highest or lowest value fromamong the similarly-calculated metrics.

Metric: Per Layer SNR

In an embodiment, the link adaptation module 300 may calculate the SNRfor each applicable transmission/detection scheme. Although thiscalculation is relatively established for a single-layer system (rank 1system—a system that communicates only a single data symbol per channeluse), this calculation has conventionally been unsuited to multi-layersystems due to its complexity. Therefore, below is provided an exemplaryconfiguration for calculating a rank 2 (2-layer system) per layer SNR.

In this configuration, the measurement module 220 measures the effectivechannel H between the receive antennas 205 and the two layers in therank 2 system. The effective channel H can thus be represented as a[N_(r), 2] matrix. In addition, the measurement module 220 also measuresthe average noise power σ² at the receive antennas. The measurementmodule 220 then forwards this information to the metric computationmodule 320 of the link adaptation module 300.

The metric computation module 320 first generates a matrix A=H^(H)×H,where ( )^(H) represents the Hermitian (transpose—conjugate)

$\begin{matrix}{\begin{bmatrix}{A\left( {1,1} \right)} & {A\left( {1,2} \right)} \\{A\left( {1,2} \right)}^{*} & {A\left( {2,2} \right)}\end{bmatrix}.} & (1)\end{matrix}$

In this matrix, A(1,1) may represent the power from a first symbol toall receive antennas, and A(2,2) represents the power from a secondsymbol to all the receive antennas. A(1,2) and A(1,2)* represent theleakage from one layer into the other.

From this information, the metric computation module 320 calculates theaverage SNR as:

Avg_Rank_(—)2_SNR_(dB)=10 log 10 (√{square root over (|A|)})−10 log10(σ²),   (2)

where |A| represents the determinant of A. Equation (2) provides thetotal SNR averaged over the different channels. However, in order toobtain more accurate metric measurements, it may be desired to determinethe average SNR on each channel individually. It has been found that theindividual channel averages can be calculated as functional differencesof the Avg₁₃ Rank_(—)2_SNR_(dB). Therefore, the metric computationmodule 320 calculates the individual layer SNRs as:

Rank_(—)2_Layer_(—)1_SNR_(dB)=Avg_Rank_(—)2_SNR_(dB)+Δ(A)_(dB), and  (3)

Rank_(—)2_Layer_(—)2_SNR_(dB)=Avg_Rank_(—)2_SNR_(dB)−Δ(A)_(dB),   (4)

where Δ(A) is a channel differential and is a function of A.

Assuming that the layer 1 SNR is proportional to A(1,1) and that thelayer 2 SNR is proportional to A(2,2), the metric computation module 320can then, in one embodiment, calculate Δ(A)_(dB) as:

$\begin{matrix}{{{\Delta (A)}_{dB} = {k*10\; \log \; 10\left( \frac{A\left( {1,1} \right)}{A\left( {2,2} \right)} \right)}},} & (5)\end{matrix}$

where k is a tuning parameter. During implementation, it was discoveredthat k value of 0.5 functioned as a good general approximation for mostmultilayer receivers.

Once the metric computation module has calculated the Δ(A)_(dB), themetric computation module 320 enters the result into equations (3) and(4) in order to obtain the per layer SNR metrics. The decision module330 can then compare these calculated metrics with those of othertransmission schemes in order to select a preferred transmission scheme.

It should be noted that, if the receiver detection is linear (e.g., zeroforcing (ZF), minimum mean squared error (MMSE), etc.), the SNR metricfor each layer, regardless of the number of layers, is a direct functionof H and σ². In this case, computing the SNR metrics is much simplerthan in the above equations. For example, in a zero forcingconfiguration, the first layer SNR (SNR₁) and the second layer SNR(SNR₂) can be calculated as:

$\begin{matrix}{{{SNR}_{1} = {\frac{1}{\sigma^{2}} \times \frac{A}{A\left( {2,2} \right)}}},{and}} & (6) \\{{SNR}_{2} = {\frac{1}{\sigma^{2}} \times {\frac{A}{A\left( {1,1} \right)}.}}} & (7)\end{matrix}$

It should be understood that, although the above equations arespecifically described with respect to a 2-layer system, similarmathematical principles can be applied to systems having more than twolayers. Therefore, the present disclosure should not be limited to asystem having only two layers.

Metric: Per Layer NMCC

In an embodiment, an additional or alternative metric that the linkadaptation module 300 may calculate is the per layer NMCC. In multilayersystems, multiple different factors may affect the NMCC. For example,such factors may include the modulation of the layer under considerationQ, the modulation of the other layer not under consideration Q′, theeffective SNR of the layer under consideration γ_(dB, layer), a channelorthogonality factor Ω(A), and the SNR offset of the other layer withrespect to the layer under consideration γ_(offset).

Therefore, in this embodiment, the link adaptation module 300 acquiresthe modulations Q and Q′ from the memory module 230 (the modulations Qand Q′ are part of the transmission scheme and thus can be derived fromthe information relating to the transmission scheme). The metriccomputation module 320 calculates the effective SNR of the layer underconsideration γ_(dB, layer) using equations (1)-(5), above, andcalculates the SNR offset of the layer not under considerationγ_(offset) by comparing the calculated SNR of the layer not underconsideration to the SNR of the layer under consideration.

The metric computation module 320 also calculates the channelorthogonality factors as:

$\begin{matrix}{{{\Omega (A)}_{{layer}\; 1} = \frac{{A\left( {1,2} \right)}}{A\left( {1,1} \right)}},{and}} & (8) \\{{\Omega (A)}_{{layer}\; 2} = {\frac{{A\left( {1,2} \right)}}{A\left( {2,2} \right)}.}} & (9)\end{matrix}$

After this information has been calculated, the metric computationmodule 320 can then calculate the NMCC as a function of Q, Q′, Ω(A),γ_(dB, layer), and γ_(offset).

The NMCC, based on these values, can be precomputed empirically andstored for future use. For example, the precomputed values can be storedin a look-up table which can then be accessed based on one or morevariables, such as, for example, Q, Q′, Ω(A), γ_(dB, layer), andγ_(offset), discussed above.

Metric: Receiver-Specific NMCC

Although the theoretically calculated per-layer NMCC is applicable tomost receivers, the characteristics of some receivers may make the“theoretical” NMCC unsuitable. Therefore, rather than employing thetheoretical NMCC calculations, the NMCC can be calculated and normalizedbased on the actual implemented receiver. In other words, the NMCC canbe calculated in an offline manner by employing the implemented receiverand a simulated transmitter. The pre-calculated NMCC values can bestored as part of look-up tables in the memory module 230.

In this embodiment, wireless receiver 200 receives a signal from thesimulated wireless communication environment that includes a pluralityof symbols Y=[y₀, y₁, . . . , y_(|L|−1)] contained within aconstellation L, where |L| is the size of the constellation. Themeasurement module 220 measures the size of a QAM constellation |L|, andforwards the constellation size |L|, as well as received symbols Y ofthe received signal to the link adaptation module 300.

Based on the information received from the measurement module 220, themetric computation module 320 calculates the mutual information μ(X, Y)between the received symbols Y and the transmitted symbols X=[x₀, x₁, .. . , x_(|L|−1)] as:

$\begin{matrix}{{{\mu \left( {X,y} \right)} = {\frac{1}{L}{\sum\limits_{{x_{i}i} = 0}^{{L} - 1}\; {E\left( {\log \; 2\left( {M \times {f_{x_{i}y}\left( x_{i} \middle| y \right)}} \right)} \right)}}}},} & (10)\end{matrix}$where M=log 2(|L|), and   (11)

where E(f_(a|b)(a|b)) is the expectation of “a” given “b”. In otherwords, because the receiver knows the values of Y, equations (10) and(11) calculate, in part, the expectation of a particular transmittedvalue based on the received value.

Once the mutual information μ(X, Y) has been calculated, the metriccomputation module 320 then calculates the NMCC with respect to theconstellation L as:

$\begin{matrix}{{NMCC}_{L} = {\frac{\mu \left( {X,Y} \right)}{\log \; 2\left( {L} \right)}.}} & (12)\end{matrix}$

After performing the NMCC calculation, the link adaptation module 300may store the pre-calculated NMCC as part of look-up tables within thememory module 230. These pre-calculated NMCC's can then later beretrieved by the decision module 330 and compared to one another so asto select a preferred configuration.

It should be noted that, although the conditioned probability f_(x) _(i)_(|y) can be easily computed for a rank 1 system, it becomes verydifficult to compute for multilayer systems (e.g., a rank 2 system).Therefore, when using a multilayer communication configuration, themetric computation module 320 employs a simplified calculation for f_(x)_(i) _(|y). For example, if the transmitted symbol x_(i) has M bits,then the bits of the transmitted symbol x_(i) are b_(i)=[b_(i,0),b_(i,1), . . . b_(i,M−1)]. The metric computation module 320 can thencalculate the symbol probability as:

f _(x) _(i) _(|y) =f _(b) _(i,0) _(|y) ×f _(b) _(i,1) _(|y) . . . f _(b)_(i,M−1) _(|y).   (13)

By splitting the computation into individual bit probabilities, the LogLikelihood Ratios calculated by the wireless receiver 200 for errorcorrection can be directly applied to easily compute the conditioned bitprobabilities f_(b) _(i) _(|y). Consequently, the calculation can besignificantly simplified over conventional methods. Further, byoperating on information actually received by the wireless receiver 200,the multilayer performance characteristics of the wireless receiver 200can be taken into account. As a result, if the receiver is close tooptimal, the calculated NMCC will be close to the theoretical value,whereas if the receiver is suboptimal, the calculated NMCC will becompensated for that condition and be less aggressive as a result.

Exemplary Configurations for Reducing Metric Calculation Complexity

As can be seen from the above equations, for systems having severalpossible transmission/detection configurations, the complexity forcalculating and comparing the metrics for all possibilities can beextremely cumbersome. As a result, below are described severalconfigurations for reducing the complexity of the computations.

As described above, some metrics are more complicated than others toevaluate. In addition, some metrics are more accurate than others.Therefore, in an embodiment, the metric computation module 320 cancalculate different metrics for selecting different parameters in thetransmission scheme. For example, each transmission parameter may have acorresponding cardinality (e.g., number of options). For a parameterhaving a larger cardinality, the metric computation module 320 cancalculate metrics having lower complexity, but also lower accuracy, inorder to simplify the selection process. Conversely, for parametershaving smaller cardinality, the metric computation module 320 cancalculate metrics having a higher accuracy, but also higher complexity.

In another embodiment, less accurate/low complexity metrics can beinitially calculated in order to reduce the set of values that may beimplemented for a particular transmission parameters. For example, for atransmission parameter having a high cardinality, the metric computationmodule may first calculate a low-complexity, low accuracy metric foreach of its possible values. From this initial metric calculation, thedecision module 330 may filter out only those parameter values whosemetric exceeds some threshold value. This subset of parameter values canthen be forwarded back to the metric computation module 320, which thencalculates a more complex, and more accurate metric for each of thefiltered parameter values. In this manner, simple calculations can beperformed on the large number of values in order to reduce the number ofpossibilities, and then the complex calculations need only be performedon those remaining.

In another embodiment, a metric computation for a single transmissionscheme can be broken up into more simplistic calculations based on eachindividual channel. In particular, in a MIMO system, due to metricdependencies, one layer may impact other layers. Therefore, calculatinga particular metric over all channel uses would be extremely complex.Therefore, the metric computation module 320 can calculate the metricfor an M-channel configuration as:

$\begin{matrix}{{\xi \left( {H_{1},H_{2},{\ldots \mspace{14mu} H_{M}},\sigma^{2},\Theta} \right)} \approx {\sum\limits_{x = 1}^{M}\; {{\xi^{\prime}\left( {H_{x},\sigma^{2},\Theta} \right)}.}}} & (14)\end{matrix}$

The metric should be chosen such that the relationship of equation (14)holds substantially true. One metric that has been found tosubstantially satisfy this relationship is NMCC, however, there may beseveral other metrics that achieve similar or improved results.

In another embodiment, when the metric can be broken up by channel, asshown in equation (14), it may also be possible to subsample across thechannels. In other words, rather than measure each individual channel,the metric computation module 320 may be able to measure only everys^(th) channel in order to approximate the metric. For example, theabove summation may be further simplified as:

$\begin{matrix}{{{\sum\limits_{x = 1}^{M}\; {\xi^{\prime}\left( {H_{x},\sigma^{2},\Theta} \right)}} \approx {\sum\limits_{k = 1}^{\lfloor{M/s}\rfloor}\; {\xi^{\prime}\left( {H_{sk},\sigma^{2},\Theta} \right)}}},} & (15)\end{matrix}$

where s is a subsampling factor, and H_(sk) is the subsampled channel.Using this approximation, the metric calculation for a MIMO system canbe even further simplified.

Exemplary Method for Selecting a Preferred Transmission/Detection Scheme

FIG. 4 illustrates an exemplary method for selecting a preferredtransmission/detection scheme.

In the method, the wireless receiver receives a signal from the wirelesstransmitter (410). The wireless receiver performs various measurementsof this signal, which may include channel estimations, noise power, etc.(420). In addition, the wireless receiver also calculates constraintsthat are to be implemented by the wireless receiver (430). Suchconstraints may include power consumption, complexity, quality ofservice, etc.

Once the constraints have been calculated, the wireless receiverdetermines, as a subset of all possible transmission/detection schemes,the acceptable transmission/detection schemes that fall within theconstraints (440). The wireless receiver then calculates at least onemetric for each of the acceptable transmission/detection schemes (450),based on the various signal measurements. Such metrics may includepower, SNR, NMCC, EESM, etc.

After metrics have been calculated, the wireless receiver compares thecalculated metrics to each other and selects, based on the comparison, apreferred transmission/detection scheme (460). For example, thepreferred transmission/detection scheme may be thetransmission/detection scheme whose calculated metric exceeds themetrics of all the other transmission/detection schemes. Once thepreferred transmission/detection scheme has been determined, thewireless receiver transmits at least the preferred transmission schemeto the wireless transmitter so that it may implement that preferredtransmission scheme for future communication (470).

Those skilled in the relevant art(s) will recognize that the method canadditionally or alternatively include any of the functionality of thewireless receiver 200 and/or the link adaptation module 300 discussedabove, and the above description of the exemplary method should neitherbe construed to limit the method nor the description of the wirelessreceiver 200 or the link adaptation module 300.

Exemplary Computer System Implementation

It will be apparent to persons skilled in the relevant art(s) thatvarious elements and features of the present disclosure, as describedherein, can be implemented it hardware using analog and/or digitalcircuits, in software, through the execution of instructions by one ormore general purpose or special-purpose processors, or as a combinationof hardware and software.

The following description of a general purpose computer system isprovided for the sake of completeness. Embodiments of the presentdisclosure can be implemented in hardware, or as a combination ofsoftware and hardware. Consequently, embodiments of the disclosure maybe implemented in the environment of a computer system or otherprocessing system. An example of such a computer system 500 is shown inFIG. 5. One or more of the modules depicted in the previous figures canbe at least partially implemented on one or more distinct computersystems 500, including, for example, the measurement module 220, thelink adaptation module 340, and any of the constraint module 310, themetric computation module 320 and/or the decision module 330 containedtherein.

Computer system 500 includes one or more processors, such as processor504. Processor 504 can be a special purpose or a general purpose digitalsignal processor. Processor 504 is connected to a communicationinfrastructure 502 (for example, a bus or network). Various softwareimplementations are described in terms of this exemplary computersystem. After reading this description, it will become apparent to aperson skilled in the relevant art(s) how to implement the disclosureusing other computer systems and/or computer architectures.

Computer system 500 also includes a main memory 506, preferably randomaccess memory (RAM), and may also include a secondary memory 508.Secondary memory 508 may include, for example, a hard disk drive 510and/or a removable storage drive 512, representing a floppy disk drive,a magnetic tape drive, an optical disk drive, or the like. Removablestorage drive 512 reads from and/or writes to a removable storage unit516 in a well-known manner. Removable storage unit 516 represents afloppy disk, magnetic tape, optical disk, or the like, which is read byand written to by removable storage drive 512. As will be appreciated bypersons skilled in the relevant art(s), removable storage unit 516includes a computer usable storage medium having stored therein computersoftware and/or data.

In alternative implementations, secondary memory 508 may include othersimilar means for allowing computer programs or other instructions to beloaded into computer system 500. Such means may include, for example, aremovable storage unit 518 and an interface 514. Examples of such meansmay include a program cartridge and cartridge interface (such as thatfound in video game devices), a removable memory chip (such as an EPROM,or PROM) and associated socket, a thumb drive and USB port, and otherremovable storage units 518 and interfaces 514 which allow software anddata to be transferred from removable storage unit 518 to computersystem 500.

Computer system 500 may also include a communications interface 520.Communications interface 520 allows software and data to be transferredbetween computer system 500 and external devices. Examples ofcommunications interface 520 may include a modem, a network interface(such as an Ethernet card), a communications port, a PCMCIA slot andcard, etc. Software and data transferred via communications interface520 are in the form of signals which may be electronic, electromagnetic,optical, or other signals capable of being received by communicationsinterface 520. These signals are provided to communications interface520 via a communications path 522. Communications path 522 carriessignals and may be implemented using wire or cable, fiber optics, aphone line, a cellular phone link, an RF link and other communicationschannels.

As used herein, the terms “computer program medium” and “computerreadable medium” are used to generally refer to tangible storage mediasuch as removable storage units 516 and 518 or a hard disk installed inhard disk drive 510. These computer program products are means forproviding software to computer system 500.

Computer programs (also called computer control logic) are stored inmain memory 506 and/or secondary memory 508. Computer programs may alsobe received via communications interface 520. Such computer programs,when executed, enable the computer system 500 to implement the presentdisclosure as discussed herein. In particular, the computer programs,when executed, enable processor 504 to implement the processes of thepresent disclosure, such as any of the methods described herein.Accordingly, such computer programs represent controllers of thecomputer system 500. Where the disclosure is implemented using software,the software may be stored in a computer program product and loaded intocomputer system 500 using removable storage drive 512, interface 514, orcommunications interface 520.

In another embodiment, features of the disclosure are implementedprimarily in hardware using, for example, hardware components such asapplication-specific integrated circuits (ASICs) and gate arrays.Implementation of a hardware state machine so as to perform thefunctions described herein will also be apparent to persons skilled inthe relevant art(s).

Conclusion

It is to be appreciated that the Detailed Description section, and notthe

Abstract section, is intended to be used to interpret the claims. TheAbstract section may set forth one or more, but not all exemplaryembodiments, and thus, is not intended to limit the invention and theappended claims in any way.

The invention has been described above with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries may be defined so long as thespecified functions and relationships thereof are appropriatelyperformed.

It will be apparent to those skilled in the relevant art(s) that variouschanges in form and detail can be made therein without departing fromthe spirit and scope of the disclosure. Thus, the invention should notbe limited by any of the above-described exemplary embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

What is claimed is:
 1. A wireless receiver capable of communicating witha wireless transmitter within a wireless communication environment, thewireless receiver comprising: a measurement module configured tomeasure, based on a signal received from the wireless transmitter, acommunication parameter; a memory module configured to storetransmission schemes that may be implemented by the wirelesstransmitter; and a link adaptation module configured to select, from thestored transmission schemes, a preferred transmission scheme based onthe communication parameter, the link adaptation module including: aconstraint module configured to determine a performance constraint; anda metric computation module configured to calculate a metric based onthe communications parameter by which to compare each of thetransmission schemes that satisfy the performance constraint.
 2. Thewireless receiver of claim 1, wherein each of the transmission schemesis defined by a corresponding combination of transmission parameters. 3.The wireless receiver of claim 1, wherein the communication parameter isindicative of a characteristic of a channel over which the receivedsignal was communicated.
 4. The wireless receiver of claim 1, whereinthe memory module is configured to store constraint sets correspondingto at least one of wireless receiver performance, wireless transmittercapabilities, and channel conditions, and wherein the constraint moduleis configured to determine the performance constraint based on thestored constraint sets.
 5. The wireless receiver of claim 1, wherein themetric computation module is configured to generate a subset of viabletransmission schemes that satisfy the performance constraint, andwherein the metric computation module calculates a metric only for eachof the viable transmission schemes.
 6. The wireless receiver of claim 5,wherein the metric computation module is configured to calculate a firstmetric for a first viable transmission scheme and to calculate a secondmetric for a second viable transmission scheme, wherein the first metricis different from the second metric.
 7. The wireless receiver of claim1, further comprising a decision module configured to compare themetrics calculated by the metric computation module, and to select thepreferred transmission scheme based on the comparison.
 8. The wirelessreceiver of claim 7, wherein the decision module is configured toselect, as the preferred transmission scheme, the transmission schemehaving a preferred metric from among the transmission schemes.
 9. Amultilayer wireless receiver capable of communicating with a wirelesstransmitter within a wireless communication environment over multiplelayers, the wireless receiver comprising: a metric computation moduleconfigured to determine a plurality of viable transmission/detectionscheme pairs, and to calculate a metric for each of the viabletransmission/detection scheme pairs, wherein the metric is calculatedindividually for each of the multiple layers.
 10. The multilayerwireless receiver of claim 9, wherein the metric includes per layersignal-to-noise ratio.
 11. The multilayer wireless receiver of claim 10,wherein the metric computation module is configured to calculate anaverage signal-to-noise ratio across the multiple layers and a channeldifferential, and wherein the metric computation module is configured tocalculate the per layer signal-to-noise ratio for a first channel byadding the calculated channel differential to the averagesignal-to-noise ratio, and for a second channel by subtracting thecalculated channel differential from the average signal-to-noise ratio.12. The multilayer wireless receiver of claim 9, wherein the at leastone metric includes per layer normalized modulation constrainedcapacity.
 13. The multilayer wireless receiver of claim 12, wherein themetric computation module is configured to calculate the normalizedmodulation constrained capacity for a first layer based on a modulationof the first layer, a modulation of a second layer, effectivesignal-to-noise ratio of the first layer, signal-to-noise offset of thesecond layer with respect to the first layer, and orthogonality of thefirst and second layers.
 14. The multilayer wireless receiver of claim12, wherein the metric computation module is configured to calculate theper layer normalized modulation constrained capacity based on aconditional probability of values of a transmitted data symbol based onthe values of a received data symbol corresponding to the transmittedsymbol.
 15. The multilayer wireless receiver of claim 14, wherein themetric computation module calculates the conditional probability as acombination of sub-probabilities of a plurality of bits of thetransmitted data symbol, and wherein metric computation module isconfigured to calculate the sub-probabilities from the log likelihoodratios of the corresponding bits.
 16. A method of selecting a preferredtransmission/detection scheme by a wireless receiver that is capable ofcommunicating with a wireless transmitter via a wireless communicationenvironment, the method comprising: measuring a signal received from thewireless transmitter to obtain a communication parameter; determining aplurality of viable transmission/detection schemes that fall within aperformance constraint; calculating a metric for each of the viabletransmission/detection schemes based on the communication parameter;comparing the calculated metrics of the viable transmission/detectionschemes; selecting, based on the comparison, a preferredtransmission/detection scheme; and informing the wireless transmitter ofthe preferred transmission/detection scheme.
 17. The method of claim 16,wherein the wireless transmitter and the wireless receiver communicateover multiple layers, and wherein the calculating of the metricincludes, for each of the viable transmission/detection schemes,calculating the metric individually for each of the multiple layers. 18.The method of claim 17, wherein the calculating of the metric includescalculating a first metric for a first subset of the viabletransmission/detection schemes and calculating a second metric for asecond subset of the viable transmission/detection schemes.
 19. Themethod of claim 17, wherein each of the multiple layers includes aplurality of channels, and wherein the calculating of the metricindividually for each of the multiple layers includes calculating, foreach of the multiple layers, the metric individually for each of thechannels.
 20. The method of claim 16, wherein the calculating of themetric includes: calculating a first metric for the viabletransmission/detection schemes; selecting, based on the calculating ofthe first metric, a subset of the viable transmission/detection schemes;and calculating a second metric for the subset of the viabletransmission/detection schemes, wherein the first metric requires lesscomputation to calculate than the second metric, and wherein thecomparing of the calculated metrics includes comparing the calculatedsecond metrics.
 21. The method of claim 16, wherein the wirelesstransmitter and the wireless receiver communicate over multiple layers,and wherein the calculating of the metric includes: sub-samplingchannels for which the metric can be calculated; and calculating themetric individually for each of the sub-sampled layers.